# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=xxhash
_pkgname=xxHash
pkgver=0.8.0
_pypkg=python-xxhash
_pyver=1.4.4
pkgrel=0
pkgdesc="Extremely fast non-cryptographic hash algorithm"
url="https://cyan4973.github.io/xxHash/"
arch="all"
license="BSD-2-Clause GPL-2.0-or-later"
makedepends="python3-dev py3-setuptools"
subpackages="$pkgname-dev $pkgname-doc py3-$pkgname:_py3 lib$pkgname:libs"
source="$_pkgname-$pkgver.tar.gz::https://github.com/Cyan4973/$_pkgname/archive/v$pkgver.tar.gz
	$_pypkg-$_pyver.tar.gz::https://github.com/ifduyue/$_pypkg/archive/v$_pyver.tar.gz
	"
builddir="$srcdir/"$_pkgname-$pkgver
_pybuilddir="$srcdir/"$_pypkg-$_pyver

build() {
	export CFLAGS="$CFLAGS -DXXH_FORCE_MEMORY_ACCESS=1"
	sed -i 's|--leak-check=yes|-v --leak-check=full --show-leak-kinds=all|' Makefile
	make

	cd "$_pybuilddir"
	ln -s "$srcdir"/$_pkgname-$pkgver/xxhash.c ./deps/xxhash/xxhash.c
	ln -s "$srcdir"/$_pkgname-$pkgver/xxhash.h ./deps/xxhash/xxhash.h
	ln -s "$srcdir"/$_pkgname-$pkgver/xxh3.h ./deps/xxhash/xxh3.h
	python3 setup.py build
}

check() {
	case "$CARCH" in
		armhf) return 0;; # due to "Bus error"
		*)
			make check
			cd "$_pybuilddir"
			python3 setup.py test
			;;
	esac
}

package() {
	make DESTDIR="$pkgdir" PREFIX=/usr install
	rm -rf "$pkgdir"/usr/lib/libxxhash.a
}

_py3() {
	local python="$1"
	pkgdesc="$pkgdesc (for python3)"
	depends="python3 xxhash"

	replaces="py-xxhash"
	provides="py-xxhash=$pkgver-r$pkgrel"

	cd "$_pybuilddir"
	python3 setup.py install --prefix=/usr --root="$subpkgdir"
}

sha512sums="c3973b3c98bad44e1d8687ab4f9461aecd1c071bb3d320537a4c50fb7301edd13e990bab48cc6e5ca30536a814c8fa8cac24ceb1803a7e8eca30ef73d449373e  xxHash-0.8.0.tar.gz
60e6cb2f8c1bdfa01ac6cad8f3950bf36da317fb6fb2b94a44ce5b855d45f5385fd70e3ac9e5e9b9870823c255e23d02738b8c6f82ba4bce5bf16dbadf92345c  python-xxhash-1.4.4.tar.gz"
